$(function () {
  /* 
  1 修改分类页面的模板里面img的路径 
    原来的样子 src="http://api.pyg.ak48.xyz/{{subValue.cat_icon}}"
    目标的样子 src=" {{ $imports.baseurl}}{{subValue.cat_icon}}"
  2 在公共的js 需要对 template 做出判断 
    存在 再去使用 template
    不存在 不用管了！！！
  3 提取公共的函数   扩展 zepto |$  添加自己的方法 
      手机验证正则和 获取url上的参数 。。。
    把一些公共的方法都挂在到 zepto对象身上了  
  4 希望所有的请求都是可以通过$.get或者$.post或者$.ajax 都可以使用
    希望 ajax 长大 自己来添加 headers。。。
    1 对url做出判断 如果包含 /my/ 请求的是私有页面 带上headers 通过原生的xhr 的方法 setRequestHeader(name,val)
   */

  //  公共的url变量
  var baseurl = "http://api.pyg.ak48.xyz/";

  // 导入模板引擎里面 (登录和注册页面 没有引入模板引擎 )
  // 正确的写法 
  // if (template) {
  if (window.template) {
    template.defaults.imports.baseurl = baseurl;
  }

  // ajax发送前被调用  拦截器 
  // 属于 框架的配置的部分 懂得怎么去使用就可以了。 
  $.ajaxSettings.beforeSend = function (xhr, ajaxObj) {
    // xhr 原生ajax对象
    // ajaxObj = $.ajax({对象})

    // console.log(ajaxObj);
    ajaxObj.url = baseurl + "api/public/v1/" + ajaxObj.url;

    // console.log("触发");

    $("body").addClass("loadding");
    // 直接给ajaxObj 添加请求头 无效的 虽然 对象身上有这个属性 但是 人家zepto最终发送请求的时候 不会帮你带上hheaders
    // 失败
    // ajaxObj.headers={
    //   Authorization: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjQ2OCwiaWF0IjoxNTQzMzg2OTA3LCJleHAiOjE1NDM0NzMzMDd9.b6zyIzbXJ9tzt0wbMxp-GTkxIzeH-CdhoDWIzZ3gUrM"
    // }
    // console.log(xhr);
    // xhr.setRequestHeader(name,key)

    if(ajaxObj.url.indexOf("/my/")!=-1){
      // 如包含有这个字符串 返回值不是 -1  
      // 请求的是私人的页面

      var token=JSON.parse(sessionStorage.getItem("userinfo")).token;
      xhr.setRequestHeader("Authorization",token);
    }
  }

  // 发送成功后被调用的拦截器
  $.ajaxSettings.complete = function () {
    // console.log("请求成功了");
    $("body").removeClass("loadding");


  }


  // 扩展zepto 
  $.extend($, {
    /**
     * 获取url上参数的值
     * @param {String} name 要求查询的参数名
     */
    getUrl: function (name) {
      var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
      var r = window.location.search.substr(1).match(reg);
      if (r != null) return decodeURI(r[2]);
      return null;
    },
    /**
     * 使用正则验证号码
     * @param {Number} phone 要验证的手机号码
     */
    checkPhone: function (phone) {
      if (!(/^1[34578]\d{9}$/.test(phone))) {
        return false;
      } else {
        return true;
      }
    },
    /**
     * 验证邮箱合法性
     * @param {email} myemail 邮箱
     */
    checkEmail: function (myemail) {
      var myReg = /^[a-zA-Z0-9_-]+@([a-zA-Z0-9]+\.)+(com|cn|net|org)$/;
      if (myReg.test(myemail)) {
        return true;
      } else {
        return false;
      }
    }
  })


})